package com.sybil.spa.servicio;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

public class EmailServicio {

   private JavaMailSenderImpl enviadorEmail;
   private SimpleMailMessage mensajeSimple;
   private String urlPagina;
   private String emailDe;

   public void setMensajeSimple(SimpleMailMessage mensajeSimple) {
      this.mensajeSimple = mensajeSimple;
   }

   public void setEnviadorEmail(JavaMailSenderImpl enviadorEmail) {
      this.enviadorEmail = enviadorEmail;
   }

   public void setUrlPagina(String urlPagina) {
      this.urlPagina = urlPagina;
   }

   public String getUrlPagina() {
      return urlPagina;
   }

   public String getEmailDe() {
      return emailDe;
   }

   public void setEmailDe(String emailDe) {
      this.emailDe = emailDe;
   }

   public void enviarEmailSimple(String dear, String content) {
      SimpleMailMessage message = new SimpleMailMessage(mensajeSimple);
      message.setText(String.format(mensajeSimple.getText(), dear, content));
      enviadorEmail.send(message);
   }

   public void enviarEmail(String para, String asunto, String textoMensaje) {
      SimpleMailMessage mensajesSimple = new SimpleMailMessage();
      mensajesSimple.setFrom(emailDe);
      mensajesSimple.setTo(para);
      mensajesSimple.setSubject(asunto);
      mensajesSimple.setText(textoMensaje);
      enviadorEmail.send(mensajesSimple);
   }

   public void enviarEmailHTML(String para, String asunto, String textoMensaje) throws MessagingException {
      MimeMessage mensajeMime = enviadorEmail.createMimeMessage();
      MimeMessageHelper helper = new MimeMessageHelper(mensajeMime);
      helper.setFrom(emailDe);
      para = "canche.moises@cmoctezuma.com.mx";
      helper.setTo(para);
      helper.setSubject(asunto);
      helper.setText(textoMensaje, true);// use the true flag to indicate the text included is HTML
      enviadorEmail.send(mensajeMime);
   }
}
